1. Field of the Invention
The invention relates to data communications and, more particularly, to an arrangement having a device for interchanging time markers between a time generator and a time receiver, and to a method for interchanging time markers between a first and a second network.
2. Description of the Related Art
In many areas of engineering, it is necessary to precisely synchronize time information, such as the time of day, which is present in different technical appliances. In the case of appliances and components that are connected to one another by a data network, the synchronization is achieved by interchanging special messages comprising time markers, “time stamp messages” or “synchronization messages”. Depending on the technology or the communication protocol that is used, different standardized protocols are used for the time markers. For example, in standard network engineering for office communication, which is based on Ethernet cabling and interchanges data in accordance with the TCP/IP protocol, the protocol PTPv2 Precision Time Protocol (PTP) standardized based on Institute of Electrical and Electronic Engineers(IEEE) Standard 1588 or gPTP based on the IEEE standard 802.1 AS is used for the time markers, whereas in the Profinet networks customarily used for automation engineering and process control engineering, e.g., Profinet IO, the method Precision Transparent Clock Protocol (PTCP) standardized based on the International Electrotechnical Commission (IEC) Standard 61158 Type 10 is used.
Besides the aforementioned time markers, which are transmitted from a time generator (i.e., a “master”, “time master” or “time server”) to a time acceptor (i.e., a “time receiver”, “client” or “time slave”), additional use is made of messages that are used to ascertain and communicate the propagation time (i.e., line delay) of the synchronization messages (i.e., time markers), such as “DelayRequest frames” and “DeleyResponse frames”. Besides the time markers, such messages interchanged between time generator and time acceptor will subsequently be referred to generally as “correction messages”. In order to determine the propagation time of the synchronization message or time marker, all subsystems are measured and taken into account to evaluate the synchronization message on the receiver. So that the receiver does not require information about the whole transmission link (i.e., all subsystems), the delays are either accumulated in a dedicated field in the synchronization message or transmitted in accumulated form in a dedicated message (i.e., follow-up). Hence, the time markers and the correction messages (e.g., DelayRequest frames), which are also sent “in the opposite direction”, correct the signal propagation time. Consequently, synchronization between a time generator and a time acceptor can be performed in a network with a high level of precision.
In addition, a controlled system is closed by the “regular” reception of a (new) synchronization message or time marker (i.e., “Follow-up frames”) and by the measurement, which is thereby possible, of the “drift” or “clock deviation” in the SyncSlave, i.e., the time receiver. The manipulated variable that is used is the frequency of the “clock” in the time receiver (i.e., faster/slower), where the frequency is adjusted (i.e., corrected) using a first factor (“Rate Compensation Factor” (RCF)). A further factor, i.e., the “Offset Compensation Factor” (OCF), is used to compensate for previously accrued deviations by additionally speeding up or slowing down the clock generator or time generator in the receiver. This compensation involves correction of the deviation that occurs as a result of the “drift” in a receiver crystal or the like in the receiver in the period between the reception of two time markers. The entire compensation thus does not occur abruptly, but rather the time information from the receiver approaches the target value ideally steadily. However, only the propagation time delays (i.e., line delays) are taken into account not by adjusting the clock using the factors (RCF, OCF) in the receiver, but rather by adding the total delay in the receiver. By limiting the factors (RCF, OCF), the adjustment of the receiver “clock” is distributed over an adjustment period. This adjustment corresponds to damping the controller response.
In automation engineering and also in other areas of engineering, it is customary to link data networks using different technologies or with different communication protocols to one another. Here, the interfaces of the two networks usually have devices known as “gateways” used on them that convert messages from a first to a second communication protocol, and from a second to a first communication protocol. In order to interchange time markers across the boundaries of a network, it is a known practice to equip a gateway with a “boundary clock” comprising, in principle, a time acceptor and a time generator linked thereto. Here, two synchronization domains are thus linked to one another in one appliance using a “SyncSlave” and a “SyncMaster”.
The time acceptor synchronizes itself to the time generator of the sending network, where the time acceptor receives the time markers from the time generator in the first network and also interchanges correction messages with the time generator. As a result, the propagation time delay of the first network can be taken into account. To this end, the time markers carry a separate “Delay” data field in which the propagation time delays of all previously transited subsystems are accumulated. The time information coded therein is then removed from the received time markers, and the precise time information is extracted therefrom and transferred to a further time generator, which likewise forms part of the “boundary clock”. The further time generator then produces time markers for the second network protocol, recodes the time information and inserts time markers into time information and sends it to the receiver (i.e., the time acceptor) in the second network, where the receiver in turn interchanges correction messages with this second time generator. As a result, it is also possible to measure the propagation time delays of the second network and take them into account in addition to the propagation time delays of the first network. In the case of the time acceptor (i.e., the SyncSlave), the “Delay” value is added to the decoded time information.
The time acceptor and the time generator for the “boundary clock”, which are likewise two independently operated but coupled “clocks” may likewise be a controlled system in which the time acceptor is tracked to the time generator. As a result, it is also possible or necessary for adjustments to be made by factors (RCF, OCF) in this case. In addition, it is also possible for a delay value to be ascertained within the “boundary clock” and to be added to the relevant data field of the time markers.
The use of the known “boundary clocks” thus allows two appliances or components which are arranged in different networks with different protocols for the time markers to be synchronized to one another. However, the use of “boundary clocks” also has associated disadvantages. The fact that, in principle, two applications need to be linked to one another, i.e., a time acceptor and a time generator (also an “application gateway”) means that firstly the time information is in the “boundary clock” for a relatively long residence time, and hence deviations arise as a result of the “drift” in the non-ideal clock generators of the network components involved in transmitting the time markers, where the deviation also increase as the “age” of the time information increases. While this deviation is insignificant in many applications and in many network topologies, it may arise, however, that a multiplicity of networks are linked or concatenated to one another. Consequently, multiple application gateways are necessary for the time markers.
The total propagation time of a time marker and hence the “age” of the time information thus increase with every gateway between networks and, hence, with the number of “boundary clocks” transited. Secondly, an arrangement comprising two networks and a “boundary clock” is a cascaded “control system” comprising at least two control loops, i.e., one in each of the two linked networks. Usually, a third control loop is also included within the “boundary clock”. When control loops are concatenated, the compensating factors can become greater with every control stage that is traversed. However, because large or even abrupt alterations in the time information are undesirable in the (ultimate) time receiver (steadiness requirement), the entire system needs to be operated with a relatively high level of damping. Consequently, the risk of oscillations in the “output signal” (i.e., the time information) increases with the number of traversed subsystems (networks) and “boundary clocks”. This situation is countered by potentially slower correction of the time signal on the time receiver to the “master signal”, which results in a slower and poorer correction response, however.